/*******************************************************************
* ++
* Author        :	ThienTN
* Description   :	Employee.h in project HRManage
* 
* Mod. History  :	26/07/2012 - ThienTN
*
* --
*******************************************************************/

#ifndef EMPLOYEE_H
#define EMPLOYEE_H

#include "Utility.h"

/*
 * Abstract class
 */
class CEmployee
{
protected:
	/*
	 * Property of program
	 */	
	string m_wszID;
	string m_wszName;
	Date m_birthDay;
	string m_wszGradSchool;
	int m_nGradType;
	int m_nEmpType;
public:
	// virtual function
	virtual void Display() = 0;

	/*
	 * Prototype of program
	 */
	void inputEmployee(CEmployee *pEmployee);
	void searchEmployee(List *pList, CEmployee *pEmployee);
	void sortName(List *pList);
	void sortEmpType(List *pList);
	void RemoveEmployee(List *pList);
	friend bool CheckBirthday(CEmployee *pEmployee);

	// constructor
	CEmployee(void);
	~CEmployee(void);
};

#endif